The present invention relates generally to receiving signals in a radio communication system, and in particular to correlating signals in CDMA communication systems.
Code division multiple access systems such as direct sequence (DS-CDMA) communication systems are for use in cellular telephone systems operating at 800 MHz and in the personal communication system (PCS) frequency band at 1800 MHz. For example, in a DS-CDMA system, all base stations in all cells may use the same radio frequency for communication. Base stations can be uniquely identified in this system by uniquely-assigned spreading codes. Specified pseudorandom noise (PN) sequences or maximal-length linear feedback shift register sequences (m-sequences) are utilized to spread the users data streams. In a quadrature modulated system, one sequence is typically used for the in-phase (I) channel spreading of the I channel symbols and the other is used for the quadrature (Q) channel spreading of the Q channel symbols. Mobile stations in the system possess the same length spreading codes and use them for the initial de-spread of the I and Q channels. In the 3rd Generation Partnership Project (3GPP) wideband CDMA (WCDMA) and Global Positioning System (GPS) systems, Gold codes are typically utilized as the spreading sequences instead of m-sequences.
Before the spreading on the I and Q channels, the symbols for transmission are typically spread using a process known as Walsh or Orthogonal Variable Spreading Factor (OVSF) code covering. When in a call, each mobile station is assigned a unique Walsh or OVSF code by the base site to ensure that transmission to each mobile station within a given cell is orthogonal to transmission to every other mobile station, assuming that a different Walsh or OVSF code is used for each mobile station. In this manner, channels are established for two-way communication between a base station and a mobile station. For example, the mobile station synchronizes to the base station by correlating the received data to a unique Walsh and PN code. Other codes can be used such as Gold, Barker and Kasami codes, and all codes can be used in combination in general.
Typically, mobile stations use a correlator as a receiver searching element to search for the pseudo-noise (PN) code phases of the receivable signals. Knowledge of the correct I and Q channel spreading code PN phases of the base station(s) with which the mobile station communicates allows the coherent detection of all the other code channels transmitted by the base station. Typical DS-CDMA mobile station receivers utilize a rake receiver having three or more independently controlled fingers, which are time aligned to the correct PN sequence phases determined by the receiver phase searching element.
The rake fingers include a receiver searcher and demodulator that mainly comprise a correlator. The correlator multiplies a data stream with the pre-defined PN code sequences (using the sequence as a key to either invert or not invert the data elements) and integrates (or sums) the result to provide a decoded (despread) signal. The central idea being that only the holder of the proper PN sequences (or code phases) will know the proper sequences to successfully sum the seemingly random data patterns to reach a conclusive data symbol decision. This process of inverting of data according to PN sequences and summing is generally termed correlation. However, with the proposed series of next generation CDMA and Global Positioning System (GPS) communication systems, several different correlator hardware configurations would be needed to accommodate all of the proposed systems. For example, wideband CDMA systems can present varying spreading codes and chip rates that need to be accommodated.
Existing correlation techniques generally include one of two types. A first type includes using a dedicated hardware correlator implemented on an application specific integrated circuit (ASIC) as needed for a particular application, as just described. While some optimization can be carried out to reuse some of the correlator operational blocks to minimize the overhead, any slight change in the mode of operation typically requires a change in hardware to adjust any one of several parameters (e.g., spreading code, correlator length, data types, etc.).
A second existing correlator type provides for an adjustable correlation length. However, this type of correlator is still dependent on a particular air interface and therefore limited by the PN generator unit included with the hardware. Moreover, this type of correlator includes communications standard-specific memory holding places.
Accordingly, what is needed is a single, programmable general purpose CDMA processor that can search, receive, and track any (or multiples) of the signals generated by the several existing and next generation CDMA communication standards. These types of special purpose processor architectures are often termed applications specific processors. It would also be of benefit to provide processing without the limitation of specific register/memory holding places (as in typical hardware or ASIC structures). Additionally, it would be an advantage to accomplish this without the expense of different or additional hardware in the communication device (along with its concurrent cost).